package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.form.ScPriceconfOcValidateLogForm;
import cn.huiyunche.base.service.model.ScPriceconfOcValidateLog;
import cn.huiyunche.base.service.query.ScPriceconfOcValidateQueryConditions;
import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.ScPriceconfOcValidateLogVo;
import org.springframework.validation.BindingResult;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2017/5/8.
 */
public interface VehicleFuelImportService {
    /**
     * 车型油耗批量导入临时表
     * @param list
     * @throws Exception
     */
    void importExcel(List<ScPriceconfOcValidateLogVo> list, String batchId) throws Exception;

    /**
     * 校验数据
     * @throws Exception
     */
    void checkData(String batchId) throws Exception;

    /**
     * 导入正式表
     * @throws Exception
     */
    void importOcAndTank(String batchId) throws Exception;

    /**
     * 批量更新失效日期
     * @throws Exception
     */
    void checkInvalidDate() throws Exception;

    /**
     * Select list by conditions map.
     *
     * @param pageVo     the page vo
     * @param conditions the conditions
     * @return the map
     * @throws Exception the exception
     */
    Map<String, Object> selectListByConditions(PageVo pageVo, ScPriceconfOcValidateQueryConditions conditions) throws Exception;

    /**
     * Select by primary key sc priceconf freight validate log.
     *
     * @param id the id
     * @return the sc priceconf freight
     * @throws Exception the exception
     */
    ScPriceconfOcValidateLog selectByPrimaryKey(Integer id) throws Exception;

    /**
     * Update.
     *
     * @param form the form
     * @param br   the br
     * @throws Exception the exception
     */
    void update(ScPriceconfOcValidateLogForm form, BindingResult br) throws Exception;

    /**
     * Del.
     *
     * @param id the id
     * @throws Exception the exception
     */
    void del(Integer id) throws Exception;


    /**
     * Del.
     *
     * @param
     * @throws Exception the exception
     */
    void deleteAll() throws Exception;

    /**
     * Del.
     *
     * @param
     * @throws Exception the exception
     */
    void delete() throws Exception;
}
